package com.songlanyun.modules.marketing.groupbuy.model.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.songlanyun.common.drive.ValueObject;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 拼团活动
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-27 14:03:39
 */
@Data
public class GroupBuyActivityDTO implements ValueObject {

    /**
     *
     */
    private Long id;
    /**
     * 商家店铺id
     */
    private Long shopId;
    /**
     * 拼团活动名称
     */
    @NotBlank(message = "拼团活动名称不能为空")
    @Length(min = 1, max = 15, message = "拼团活动名称在1-15个字")
    private String name;
    /**
     * 活动开始时间
     */
    @NotNull(message = " 活动开始时间不能为空")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date startTime;
    /**
     * 活动结束时间
     */
    @NotNull(message = "活动结束时间不能为空")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endTime;
    /**
     * 订单自动关闭时间（商品按下单减库存，请设置未付款订单自动取消时间及时释放库存，可输入3-360分钟）
     */
    private Integer closeTime;
    /**
     * 活动图片
     */
    @NotBlank(message = "活动图片不能为空")
    private String imgUrl;
    /**
     * 成团小时数(开团之后，多长时间关团的小时数)
     */
    @NotNull(message = "成团小时数不能为空")
    @Min(value = 1, message = "成团小时数最小为1")
    private Integer limitHour;
    /**
     * 是否废弃
     */
    private Boolean discard;
    /**
     * 活动说明
     */
//    @NotBlank(message = "活动说明不能为空")
    @Length(max = 200, message = "活动说明长度在200个字以内")
    private String explain;


}
